<?php
/**
 * 管理员表模型
 * @copyright reginx.com
 * $Id: demo.tab.php 56 2012-11-12 16:24:58Z reginx.com@gmail.com $
 */ 
class admin_tab extends tab {
    
    /**
     * 验证规则
     *
     * @var unknown_type
     */
    public $validate = array(
        array(
            // 对应表字段名称 , 表单字段名称
            'key'       => 'uname',
            // 使用的验证方式 
            // 0 为框架内置 
            // 1 为 自定义正则表达式 
            // 2 为使用自定义函数验证 (默认将向函数传递2个参数, 第一个为当前字段值, 第二个为当前数据中主键值)
            'type'      => 0,
            // 使用的规则 , 可以为 内置表达式列表键名 或 '/^\d+$/' 表达式 或 array('core' , 'validate') 函数方式
            'rule'      => 'require',
            // 验证失败返回的 提示消息
            'msg'       => '请输入帐号!',
            // 数据过滤函数 
            'filter'    => array('filter' , 'text')
        ),
        array(
            'key'       => 'passwd',
            'type'      => 0,
            'rule'      => 'passwd',
            'msg'       => '请输入密码!'
        )
    );
    
    
    /**
     * 默认填充字段
     *
     * @var unknown_type
     */
    public $default = array(
        // 键名对应字段名称
        'right'         => 0    
    );

    
    
    /**
     * 检测登录
     * @abstract 示例没有使用salt附加串 , 可以考虑扩展chklogin方法
     * @return mixed
     */
    public function chklogin(){
        $row = $this->where("uname = '{$this->data['uname']}'")
                        ->where("passwd = '".md5($this->data['passwd'])."'")
                            ->get();
        return $row ? $row : false;
    }
}
?>